import {
  IsInt,
  IsString,
  IsEnum,
  IsOptional,
  MaxLength,
} from 'class-validator';
import { MessageType } from '../entities/message.entity';

/**
 * 发送消息 DTO
 */
export class SendMessageDto {
  /**
   * 接收者ID
   */
  @IsInt()
  receiverId: number;

  /**
   * 消息类型
   */
  @IsEnum(MessageType)
  @IsOptional()
  type?: MessageType;

  /**
   * 消息内容（文本消息必填）
   */
  @IsString()
  @MaxLength(5000, { message: '消息内容不能超过5000字符' })
  content: string;

  /**
   * 媒体文件URL（图片、视频、音频等消息需要）
   */
  @IsString()
  @IsOptional()
  mediaUrl?: string;
}
